package com.lxmes.sales.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.lxmes.common.annotation.Excel;
import com.lxmes.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 出库计划对象 cc_chuku_info_plan
 *
 * @author lx
 * @date 2023-06-28
 */
@Data
@ApiModel(value = "CcChukuInfoPlan", description = "出库计划对象")
public class CcChukuInfoPlanPo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty("主键")
    private Long id;

    /** 工厂名称 */
    @Excel(name = "工厂名称")
    @ApiModelProperty("工厂名称")
    private String factoryName;

    /** 工厂代码 */
    @Excel(name = "工厂代码")
    @ApiModelProperty("工厂代码")
    private String factoryCode;

    /** 出库单号 */
    @Excel(name = "出库单号")
    @ApiModelProperty("出库单号")
    private String danhao;

    /** 出库类型 */
    @Excel(name = "出库类型")
    @ApiModelProperty("出库类型")
    private Long chukuType;

    /** 订单类型 */
    @Excel(name = "订单类型")
    @ApiModelProperty("订单类型")
    private String orderType;

    /** 销售订单编号 */
    @Excel(name = "销售订单编号")
    @ApiModelProperty("销售订单编号")
    private String orderDanhao;

    /** 合同编号 */
    @Excel(name = "合同编号")
    @ApiModelProperty("合同编号")
    private String contractCode;

    /** 合同数量 */
    @Excel(name = "合同数量")
    @ApiModelProperty("合同数量")
    private BigDecimal contractNum;

    /** 计划号 */
    @Excel(name = "计划号")
    @ApiModelProperty("计划号")
    private String planId;

    /** 计划出库数量 */
    @Excel(name = "计划出库数量")
    @ApiModelProperty("计划出库数量")
    private BigDecimal jhckNum;

    /** 实际出库数量 */
    @Excel(name = "实际出库数量")
    @ApiModelProperty("实际出库数量")
    private BigDecimal ckNum;

    /** 出库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "出库日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("出库日期")
    private Date chukuDate;

    /** 物料名称 */
    @Excel(name = "物料名称")
    @ApiModelProperty("物料名称")
    private String itemName;

    /** 物料号 */
    @Excel(name = "物料号")
    @ApiModelProperty("物料号")
    private String itemId;

    /** 子图号 */
    @Excel(name = "子图号")
    @ApiModelProperty("子图号")
    private String itemCode;

    /** 规格型号 */
    @Excel(name = "规格型号")
    @ApiModelProperty("规格型号")
    private String spec;

    /** 物料单位 */
    @Excel(name = "物料单位")
    @ApiModelProperty("物料单位")
    private String unit;

    /** 批次 */
    @Excel(name = "批次")
    @ApiModelProperty("批次")
    private String lot;

    /** 供应商 */
    @Excel(name = "供应商")
    @ApiModelProperty("供应商")
    private Long supplyId;

    /** 供应商名称 */
    @Excel(name = "供应商名称")
    @ApiModelProperty("供应商名称")
    private String supplyName;

    /** 仓库编号 */
    @Excel(name = "仓库编号")
    @ApiModelProperty("仓库编号")
    private String stockId;

    /** 仓库名称 */
    @Excel(name = "仓库名称")
    @ApiModelProperty("仓库名称")
    private String stockName;

    /** 库区编码 */
    @Excel(name = "库区编码")
    @ApiModelProperty("库区编码")
    private String kuquCode;

    /** 库区名称 */
    @Excel(name = "库区名称")
    @ApiModelProperty("库区名称")
    private String kuquName;

    /** 库位编码 */
    @Excel(name = "库位编码")
    @ApiModelProperty("库位编码")
    private String kuweiCode;

    /** 价格 */
    @Excel(name = "价格")
    @ApiModelProperty("价格")
    private BigDecimal price;

    /** 总价 */
    @Excel(name = "总价")
    @ApiModelProperty("总价")
    private BigDecimal totalPrice;

    /** 单价 */
    @Excel(name = "单价")
    @ApiModelProperty("单价")
    private BigDecimal unitPrice;

    /** 物料类型id */
    @Excel(name = "物料类型id")
    @ApiModelProperty("物料类型id")
    private String classId;

    /** 物料类型 */
    @Excel(name = "物料类型")
    @ApiModelProperty("物料类型")
    private String className;

    /** 托管标识 */
    @Excel(name = "托管标识")
    @ApiModelProperty("托管标识")
    private String isTuoguan;

    /** 质量状态 */
    @Excel(name = "质量状态")
    @ApiModelProperty("质量状态")
    private String qualityState;

    /** 制造商编码 */
    @Excel(name = "制造商编码")
    @ApiModelProperty("制造商编码")
    private String makerCode;

    /** 制造商名称 */
    @Excel(name = "制造商名称")
    @ApiModelProperty("制造商名称")
    private String makerName;

    /** 尺寸 */
    @Excel(name = "尺寸")
    @ApiModelProperty("尺寸")
    private BigDecimal size;

    /** 单重 */
    @Excel(name = "单重")
    @ApiModelProperty("单重")
    private BigDecimal singleWeight;

    /** 总重 */
    @Excel(name = "总重")
    @ApiModelProperty("总重")
    private BigDecimal totalWeight;

    /** 使用状态 */
    @Excel(name = "使用状态")
    @ApiModelProperty("使用状态")
    private String useState;

    /** 颜色 */
    @Excel(name = "颜色")
    @ApiModelProperty("颜色")
    private String color;

    /** 花纹 */
    @Excel(name = "花纹")
    @ApiModelProperty("花纹")
    private String figure;

    /** 材质 */
    @Excel(name = "材质")
    @ApiModelProperty("材质")
    private String caizhi;

    /** 条形码 */
    @Excel(name = "条形码")
    @ApiModelProperty("条形码")
    private String txm;

    /** 托盘码 */
    @Excel(name = "托盘码")
    @ApiModelProperty("托盘码")
    private String tpm;

    /** 配送条形码 */
    @Excel(name = "配送条形码")
    @ApiModelProperty("配送条形码")
    private String pstxm;

    /** 配送时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "配送时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("配送时间")
    private Date psTime;

    /** 组别 */
    @Excel(name = "组别")
    @ApiModelProperty("组别")
    private String zubie;

    /** 拣货人 */
    @Excel(name = "拣货人")
    @ApiModelProperty("拣货人")
    private String pickingName;

    /** 拣货工段位 */
    @Excel(name = "拣货工段位")
    @ApiModelProperty("拣货工段位")
    private String pickingSegment;

    /** 拣货时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "拣货时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("拣货时间")
    private Date pickingTime;

    /** 条码打印次数 */
    @Excel(name = "条码打印次数")
    @ApiModelProperty("条码打印次数")
    private Long txmPrintNum;

    /** 出库单打印次数 */
    @Excel(name = "出库单打印次数")
    @ApiModelProperty("出库单打印次数")
    private Long ckPrintNum;

    /** 器具号 */
    @Excel(name = "器具号")
    @ApiModelProperty("器具号")
    private String utensilNo;

    /** SAP凭证 */
    @Excel(name = "SAP凭证")
    @ApiModelProperty("SAP凭证")
    private String sapProof;

    /** 状态(0 */
    @Excel(name = "状态(0")
    @ApiModelProperty("状态(0")
    private Long ckState;

    /** 总装入库回写状态 */
    @Excel(name = "总装入库回写状态")
    @ApiModelProperty("总装入库回写状态")
    private String zzhxState;

    /** 总装入时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "总装入时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty("总装入时间")
    private Date zzrkTime;

    /** 总装入库备注 */
    @Excel(name = "总装入库备注")
    @ApiModelProperty("总装入库备注")
    private String zzrkRemark;

    /** 总装入库人 */
    @Excel(name = "总装入库人")
    @ApiModelProperty("总装入库人")
    private String zzrkName;

    /** 总装入库数 */
    @Excel(name = "总装入库数")
    @ApiModelProperty("总装入库数")
    private BigDecimal zzrkNum;

    /** 记录出库库存 */
    @Excel(name = "记录出库库存")
    @ApiModelProperty("记录出库库存")
    private Long stockinfoId;

    /** 客户代码 */
    @Excel(name = "客户代码")
    @ApiModelProperty("客户代码")
    private String clientCode;

    /** 客户名称 */
    @Excel(name = "客户名称")
    @ApiModelProperty("客户名称")
    private String clientName;

    @ApiModelProperty("计划状态")
    private String state;

    /** 部门数据隔离代码 */
    private Long deptId;

}
